#pragma once
#include "Axis.h"

class _YAxis :
	public _Axis
{
public:
	_YAxis(_GraphLayout& Layout);
	~_YAxis(void);

	// Drawing
	void draw(double Min, double Max, bool EnableGrid);
	void drawBackground();
	void drawTitle();
	void drawTicks(bool EnableGrid);
	void drawExponent();

	// Width for access from outside
	_u32 m_Width;
	void _YAxis::calculateLayout(double Min, double Max, _u32 XAxisHeight, _u32 TitleSize);
	void calculateWidth();
	_u32 getWidth();

	// Positioning
	bool isInsideAxis(CPoint& Point);

	// Precision
	_s32 m_Exponent;
	_u32 m_Precision;

	const static _u32 AxisTitleSize = 10;
};

